The technical field of the present invention is that of recursive digital filters (with infinite impulse response or IIR) and their industrial applications. These filters are used in particular, but not exclusively, in the field of noise reduction, for making active sound protection devices. They can also be used in regulation systems employing negative feedback loops.
In this area, several designs have already been proposed. They are based on converting an input signal x(n) at a given moment in time, that comes from sampling at a given frequency, into an output signal y(n) deduced therefrom by a specific calculation procedure. The calculation procedure is defined by coefficients aj and bi of the function F(z) representing the filter transfer function in its general form in the complex plane
      F    ⁡          (      Z      )        =            1      K        ⁢                            ∑                      i            =            0                    P                ⁢                              b            i                    ·                      Z                          -              1                                                  1        +                              ∑                          j              =              1                        q                    ⁢                                    a              j                        ·                          Z                              -                1                                                        or the finite-difference equation which give the value of the output signal as a function of the input and output values for the previous samples n−i or n−j:
      y    ⁡          (      n      )        =                    1        K            ⁢                        ∑                      i            =            0                    P                ⁢                  (                                    b              i                        ·                          x              ⁡                              (                                  n                  -                  i                                )                                              )                      -                  ∑                  j          =          1                q            ⁢              (                              a            j                    ·                      y            ⁡                          (                              n                -                j                            )                                      )            where K designates a coefficient enabling the filter gain to be regulated and Z is a complex number such that Z=exp(2πjf) where f is the reduced frequency, a unitless value between 0 and 1, defined by the actual frequency of the signal expressed in Hz divided by the sampling frequency also expressed in Hz, and where j is the complex number such that j2=−1.
The general form of recursive digital filters can then be represented by the schematic diagram in FIG. 1, where Z−1 is the operator for passing from sample n to sample n−1.
These filters are generally implemented by a series of second-order filters (filters employing only the input and output values of the two previous samples), disposed in parallel (parallel form) or in a cascade (cascade form), with a transfer function which is then written as follows, for the parallel and cascade filters respectively:
      F    ⁡          (      Z      )        =                    ∏                  i          =          1                m            ⁢                                    F            i                    ⁡                      (            Z            )                          ⁢                                  ⁢        or        ⁢                                  ⁢                  F          ⁡                      (            Z            )                                =                  ∑                  i          =          1                m            ⁢                        F          i                ⁡                  (          Z          )                    where Fi(Z) represents the transfer function of each second-order recursive elementary filter.
Each cell (second-order recursive elementary filter) is thus defined only by the five coefficients a1, a2, b0, b1, and b2.
These filters, of whatever order, have the disadvantage of being implementable only after quantification of their coefficients into integers, namely with truncation of the decimals, which occurs only after the actual coefficients aj and bi have been multiplied by a scale factor. This scale factor increases the possible choice of integer coefficients used in the calculation, while the actual coefficients lie between −2 and 2, at most. This truncation brings about an error which translates into non-linearities of the filter, making it unsuitable for the desired filtering function. To minimize the effect of quantification of integer coefficients, the filter must be made of a succession of second-order filters in a cascade(cascade form). To this error, associated with the coefficients, is added the rounding error that occurs when integers are divided by the scale factor. This rounding error propagates from sample to sample as the calculations are made. It can become very large, hence non-negligible when the filter is operating in the low-frequency range. This error is made even greater if the result of integer divisions by the scale factor is considered to be the default integer value instead of the closest integer value to the result of actual division.